package org.djw.pet.service;

import org.djw.basic.service.IBaseService;
import org.djw.basic.util.PageList;
import org.djw.pet.domain.Pet;
import org.djw.pet.domain.SearchMasterMsg;
import org.djw.pet.query.SearchMasterMsgQuery;
import org.djw.user.domain.Logininfo;

import java.util.List;
import java.util.Map;

public interface ISearchMasterMsgService extends IBaseService<SearchMasterMsg> {

    /**
     * 发布寻主信息
     * @param searchMasterMsg
     * @param logininfo
     * @return
     */
    void publish(SearchMasterMsg searchMasterMsg, Logininfo logininfo);

    /**
     * 用户查询
     * @param query
     * @param currentLogininfo
     * @return
     */
    PageList<SearchMasterMsg> user(SearchMasterMsgQuery query, Logininfo currentLogininfo);

    /**
     * 查询待处理的寻主消息
     * @param query
     * @param currentLogininfo
     * @return
     */
    PageList<SearchMasterMsg> pending(SearchMasterMsgQuery query, Logininfo currentLogininfo);

    /**
     * 查询已处理的寻主消息
     * @param query
     * @param currentLogininfo
     * @return
     */
    PageList<SearchMasterMsg> processed(SearchMasterMsgQuery query, Logininfo currentLogininfo);

    /**
     * 处理寻主消息
     * @param pet
     * @param currentLogininfo
     */
    void handle(Pet pet, Logininfo currentLogininfo);
}
